Page({
  data: {
    list: [],

    //选择小区名：
    point: '',
    //选择楼号：
    building: '',
    //选择房号
    room: '',

    //表单数据
    name: '',
    gender: 1,
    mobile: '',

    // 图片地址演示使用:身份证正反面
    idcardFrontUrl: '/static/images/avatar_1.jpg',
    idcardBackUrl: '/static/images/avatar_2.jpg',
    /**
    * 房屋模块-新增房屋
    * 1.根据用户的定位搜索附近的小区=》选择添加房屋的小区名
    * 2.选择添加房屋小区的楼号
    * 3.选择房间号
    * 4.跳转到添加房屋页面=》回显了之前的选择：小区名+楼号+房间号
    * 5.表单校验
    * 6.校验通过后，表单提交，跳转房屋列表页面
    */
  },
  onLoad({ point, building, room, id }) {
    // console.log(id)
    this.getList(id)
    if (id) {
      //改变小程序页面的名字需要使用到wx.setNavigationBarTitle
      wx.setNavigationBarTitle({ title: '编辑房屋信息' })
    } else {
      // 获取并记录地址参数
      this.setData({ point, building, room })
    }
    // this.setData({
    //   point, building, room
    // })
  },
  async getList(id) {
    const { data } = await wx.http.get('/room/' + id)
    this.setData({
      ...data
    })

  },
  async goList() {
    // wx.reLaunch({
    //   url: '/house_pkg/pages/list/index',
    // })
    //1.表单校验
    const { id, point, building, room, gender, name, mobile, idcardBackUrl, idcardFrontUrl } = this.data
    if (!/^[\u4e00-\u9fa5]{2,5}$/.test(name)) return wx.utils.message('请填写中文姓名!')
    // 3. 图片地址不能为空
    if (!idcardBackUrl || !idcardFrontUrl) return wx.utils.message('请上传身份证照片!')
    // 2.表单上传

    try {
      // 请求数据接口
      await wx.http.post('/room', { id, point, building, room, gender, name, mobile, idcardBackUrl, idcardFrontUrl })
      // 成功后跳转至房屋列表
      wx.reLaunch({
        url: '/house_pkg/pages/list/index',
      })
    } catch (error) {
      console.log(error)
    }

  },
  removePicture(ev) {
    // 移除图片的类型（身份证正面或反面）
    const type = ev.mark.type
    this.setData({ [type]: '' })
  },
  //点击头像
  async uploadPicture(ev) {
    // 上传身份证照片的类别
    const type = ev.mark.type
    wx.chooseMedia({
      count: 1, // 只能选择1张图片
      mediaType: ['image'], // 只能选择图片类型
      sizeType: ['compressed'], // 默认为压缩模式
      success: async (res) => {
        console.log(res);
        try {
          const img = await wx.utils.upload(res.tempFiles[0].tempFilePath, {
            type: 'avatar'
          })
          this.setData({
            [type]: img.data.url
          })
        } catch (error) {
          console.log('上传失败', error);
        }
      }
    })


  }
})
